package me.zhengjie.pojo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("wcs_line_body_inbound")
public class WcsLineBodyInbound {
    @TableId(type = IdType.AUTO)
    private Integer id;

    //设备id
    @TableField("unit_id")
    private Integer unitId;

    //入库第一段链条机请求地址（0：不请求；1：请求）
    @TableField("inb_one_chain_machine")
    private Integer inbOneChainMachine;

    //入库第一段链条机返回（0：无任务；1：任务中；2：已完成）（
    @TableField("inb_one_chain_machine_result")
    private Integer inbOneChainMachineResult;

    //高度地址位（0：初始状态；1：未超高；2：超高）
    @TableField("tall")
    private Integer tall;

    //高度结果地址位（0：未收到；1：已收到）
    @TableField("tall_result")
    private Integer tallResult;

    //二边读码是否相同结果地址位（0：初始状态；1：一致；2：不一致）
    @TableField("read_code_result")
    private Integer readCodeResult;

    //第一段料箱状态地址位0：无料；1：有料
    @TableField("one_workbin_status")
    private Integer oneWorkbinStatus;

    //第一段读码信息地址位
    @TableField("one_read_code_information")
    private Integer oneReadCodeInformation;

    //第一段返回结果地址位0：未收到；1：已收到；2：容器编码已存在（走异常处理流程）；3：无嵌套信息（走异常处理流程）
    @TableField("one_read_code_result")
    private Integer oneReadCodeResult;

    //第二段料箱状态地址位0：无料；1：有料
    @TableField("two_workbin_status")
    private Integer twoWorkbinStatus;

    //第二段读码信息地址位
    @TableField("two_read_code_information")
    private Integer twoReadCodeInformation;

    //第二段读返回果地址位（0：未收到；1：已收到）
    @TableField("two_read_code_result")
    private Integer twoReadCodeResult;

    //NG料箱数地址位
    @TableField("ng_workbin_number")
    private Integer ngWorkbinNumber;

    //NG搬运结果地址位（0：无任务；1：任务中；2：已完成）
    @TableField("ng_transport")
    private Integer ngTransport;

    //NG请求搬运（0，不请求，1请求）
    @TableField("ng_request")
    private Integer ngRequest;

    //第三段读码信息地址位
    @TableField("three_workbin_status")
    private Integer threeWorkbinStatus;

    //第三段读码信息地址位
    @TableField("three_read_code_information")
    private Integer threeReadCodeInformation;

    //入库AGV请求搬运地址位（0：不请求；1：请求）
    @TableField("inb_transport")
    private Integer inbTransport;

    //入库反馈地址位（0：无任务；1：任务中；2：已完成）
    @TableField("inb_feedback")
    private Integer inbFeedback;

    //链条线储位编码
    @TableField("chain_machine_storage")
    private String chainMachineStorage;

    //ng储位编码
    @TableField("ng_storage")
    private String ngStorage;

    //第一段写入plc
    @TableField("one_write_plc")
    private Integer oneWritePlc;

    //第一段写入PLC时间
    @TableField("one_time")
    private LocalDateTime oneTime;

    //第二段写入plc
    @TableField("two_write_plc")
    private Integer twoWritePlc;

    //第二段写入PLC时间
    @TableField("two_time")
    private LocalDateTime twoTime;

    //第三段写入plc
    @TableField("three_write_plc")
    private Integer threeWritePlc;

    //第三段写入PLC时间
    @TableField("three_time")
    private LocalDateTime threeTime;

    //NG写入plc
    @TableField("ng_write_plc")
    private Integer ngWritePlc;

    //提升机补栈板写入plc
    @TableField("hoist_repair_plc")
    private Integer hoistRepairPlc;

    //提升机取空栈板写入plc
    @TableField("hoist_take_plc")
    private Integer hoistTakePlc;

    //补空栈板地址位
    @TableField("repair_empty_pallet")
    private Integer repairEmptyPallet;

    //搬运空栈板地址位
    @TableField("transport_empty_pallet")
    private Integer transportEmptyPallet;

    //提升机搬运回复地址位
    @TableField("hoist_transport_reply")
    private Integer hoiStTransportReply;

    //提升机储位
    @TableField("hoist_storage")
    private String hoistStorage;

    @TableField("inb_ctu_storage")
    private String inbCtuStorage;

    //任务下发时间
    @TableField("task_issue_time")
    private LocalDateTime taskIssueTime;
}
